﻿do
	IGAS:NewAddon("IGAS_Studio")

	local _DB

	------------------------------------------------------------
	-- ScriptType
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.VirtualUIObject, "ScriptType")

	------------------------------------------------------------
	-- Function
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.VirtualUIObject, "Function")

	_DB:AddCodeHelp("StackScript", [=[Stack a handler to the given script type]=], [=[StackScript(scriptType, handler)]=])
	_DB:AddCodeHelp("GetObjectType", [=[Get the type of this object.]=], [=[GetObjectType()]=])
	_DB:AddCodeHelp("IsObjectType", [=[Determine if this object is of the specified type, or a subclass of that type.]=], [=[IsObjectType(type)]=])
	_DB:AddCodeHelp("IsIGASFrame", [=[Determine if this frame is created from igas, always true]=], [=[IsIGASFrame()]=])
	_DB:AddCodeHelp("HasScript", [=[Returns whether the widget supports a script handler]=], [=[HasScript(scriptType)]=])
	_DB:AddCodeHelp("SetScript", [=[Sets the widget's handler function for a script]=], [=[SetScript(scriptType, handler)]=])
	_DB:AddCodeHelp("GetParent", [=[Get the parent of this frame (The object, not just the name)]=], [=[GetParent()]=])
	_DB:AddCodeHelp("GetName", [=[Return the name of the object.]=], [=[GetName()]=])
	_DB:AddCodeHelp("GetScript", [=[Returns the widget's handler function for a script]=], [=[GetScript(scriptType)]=])
	_DB:AddCodeHelp("CallMethod", [=[Using for call sup-type methods for this frame]=], [=[CallMethod(widget, method)]=])
	_DB:AddCodeHelp("SetParent", [=[Set the parent for this frame]=], [=[SetParent(parent)]=])
	_DB:AddCodeHelp("SetName", [=[ Set the name of the object.]=], [=[SetName(name)]=])
	_DB:AddCodeHelp("UnStackScript", [=[Unstack a handler from the given script]=], [=[UnStackScript(scriptType, handler]=])
	_DB:AddCodeHelp("Fire", [=[Fire script, to trigger the frame's script handlers]=], [=[Fire(scriptType, ...)]=])
	_DB:AddCodeHelp("Dispose", [=[Release resource, will dipose it's childs the same time]=], [=[Dispose()]=])
	
	------------------------------------------------------------
	-- Property
	------------------------------------------------------------
	_DB = CreateHelpDB(IGAS.GUI.Widget.VirtualUIObject, "Property")

	_DB:AddCodeHelp("Parent", [[Set or Get the frame's parent]], IGAS:GetPropertyType("UIObject"))
	_DB:AddCodeHelp("Name", [[Set or get the frame's name, it's an unique identify in it's parent's childs]], IGAS:GetPropertyType("string"))
	_DB:AddCodeHelp("InDesignMode", [[Check if the frame is under design]], IGAS:GetPropertyType("boolean"))
end
